/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mx.its.dsw2.biblioteca.Bl;

import java.util.List;
import javax.ejb.EJB;
import javax.ejb.Stateless;
import mx.its.dsw2.biblioteca.Enumeraciones.EstadoTransaccion;
import mx.its.dsw2.biblioteca.Modelo.Usuario;
import mx.its.dsw2.bibliotecaDao.UsuarioDaoLocal;

/**
 *
 * @author Yessy
 */
@Stateless
public class UsuarioBl implements UsuarioBlLocal {
    
    //insertar codigo
    //call
    //seleccionar el Dao
    //local y aceptar
    @EJB
    private UsuarioDaoLocal usuarioDao;

    @Override
    public EstadoTransaccion register(Usuario user) {
         if (usuarioDao.findDuplicity(user)) {
            return EstadoTransaccion.INCOMPLETO;
                     
        } else {
            usuarioDao.create(user);
            return EstadoTransaccion.COMPLETO;
          
        }
         
    }

    // Add business logic below. (Right-click in editor and choose
    // "Insert Code > Add Business Method")

    @Override
    public EstadoTransaccion modify(Usuario user) {
        if (user.getId() == null || usuarioDao.find(user.getId()) == null) {
            return EstadoTransaccion.INCOMPLETO;
        } else {
            usuarioDao.edit(user);
            return EstadoTransaccion.COMPLETO;
        }
    }

    @Override
    public EstadoTransaccion delete(Usuario user) {
      if (user.getId() == null || usuarioDao.find(user.getId()) == null) {
            return EstadoTransaccion.INCOMPLETO;
        } else {
            usuarioDao.remove(user);
            return EstadoTransaccion.COMPLETO;

        }
    }

    @Override
    public List<Usuario> getAll() {
        return usuarioDao.findAll();
    }

    @Override
    public Usuario userFindById(int idUsuario) {
        return usuarioDao.find(idUsuario);
    }

   

   

}
